﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.Runtime.Serialization;


namespace ProviosioningEngine.Entities
{
    [DataContract]
    public class Order
    {
        public RequestHeader OrderHeader;

        public string OrderReference;

        public string OrderDateTime;

        public DateTime OrderStartDateTime;

        public Customer Customer;

        public OrderItem[] Orderitems;

        
    }

    [DataContract]
    public class OrderItem
    {
        [DataMember]
        public string ProductId;

        [DataMember]
        public string Action;

        [DataMember]
        public OrderItemCharacteristics characteristics;

    }

    [DataContract]
    public class OrderItemCharacteristics
    {
        [DataMember]
        public string name;

        [DataMember]
        public string value;

    }

    [DataContract]
    public class Customer
    {

        [DataMember]
        public string CustomerId;

        [DataMember]
        public string CustomerName;


        [DataMember]
        public User CustomerAdmin;

        [DataMember]
        public Address CustomerAddress;
    }

    [DataContract]
    public class User
    {
        public string UserId;

        public string UserName;

        public string UserType;

        public string Password;
        
    }

    [DataContract]
    public class Address
    {
        [DataMember]
        public string AddressLine1;

        [DataMember]
        public string AddressLine2;
        
        [DataMember]
        public string Town;

        [DataMember]
        public string PostCode;

        [DataMember]
        public string Telephone;

        [DataMember]
        public string Fax;


    }

    [DataContract]
    public class RequestHeader
    {
        [DataMember]
        public string InteractionId;

        [DataMember]
        public string SourceSystemId;
    }

}
